SCTP is a reliable transport protocol standardized by the Internet Engineering Task Force (IETF). SCTP supports features such as multistreaming and multihoming as described in IETF RFC 4960, “Stream control transmission protocol” and in an article by S. Fu and M. Atiquzzaman titled “SCTP: state of the art in research, products, and technical challenges,” Institute of Electrical and Electronics Engineers (IEEE) Communication Magazine, April 2004. SCTP-PR is an extension of SCTP, which allows an SCTP implementation to provide partially reliable data transmission service to an upper layer protocol.
In an article by F. Yong, W. Chee and S. Ramadass, entitled “M-SCTP: transport layer multicasting protocol,” found in National Computer Science Postgraduate Colloquium (NaCSPC), 2005, a scheme that utilizes multicast SCTP (M-SCTP) is described. The scheme adds an M-SCTP server stack between an SCTP server and its SCTP clients. The server stack manages the resources of a multicast service and controls multicast membership. However, the scheme achieves multicast capability by using recursive unicast protocol message transmissions. In other words, multicast is realized by the server stack by duplicating data packets and sending them to each client individually using multiple unicast protocol message transmissions. Thus, the scheme does not solve problems stemming from low bandwidth efficiency or poor system scalability.
A scheme exists for adding multicast support to SCTP. In this scheme, a one-to-many style SCTP socket is opened at the server side that consists of multiple associations. Each association has two endpoints, one at the server and the other at a respective client in a multicast network with unicast capability. Furthermore, each association contains a path corresponding to a multicast network link, and other paths corresponding to unicast network links. The multicast paths in the multiple associations of the SCTP socket share the same multicast IP address as well as the transport port address. The server is thus able to send one copy of the data packets, but be able to reach all of the clients, through multicast. As a result, high bandwidth efficiency can be achieved and a system that employs this scheme would scale well with an increased number of clients in a multicast network.
However, the aforementioned scheme requires that certain changes be made to the protocol. For example, the SCTP protocol must be modified so that on the server side, across multiple associations in a socket, only one copy of data packets is sent over a shared multicast path. In applications where changes to the protocol are restricted, this can prevent the scheme from operating. In addition, due to the shared multicast path, all clients are required to have the same SCTP port address because all clients are to receive the same set of data packets. A client that has an occupied port address may not use the same port address to receive multicast data packets. The present arrangement will allow the aforementioned scheme to operate without explicit changes to SCTP or SCTP-PR protocol.